<?php

namespace app\controller;

use app\BaseController;
use think\facade\Request;
// use think\facade\Filesystem;
// use think\exception\ValidateException;
use think\facade\Validate;
// use think\file\UploadedFile;

define('DS', DIRECTORY_SEPARATOR);


class Upload extends BaseController
{
    // public function index()
    // {
    //     return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:) </h1><p> ThinkPHP V' . \think\facade\App::version() . '<br/><span style="font-size:30px;">16载初心不改 - 你值得信赖的PHP框架</span></p><span style="font-size:25px;">[ V6.0 版本由 <a href="https://www.yisu.com/" target="yisu">亿速云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ee9b1aa918103c4fc"></think>';
    // }

    // public function hello($name = 'ThinkPHP6')
    // {
    //     return 'hello,' . $name;
    // }

    public function uploadImage(Request $request)
    {
        // var_dump($request);
        // 获取上传文件
        $file = request()->file('file');
        var_dump($file);

        // 验证文件是否上传成功  
        if (empty($file)) {
            return json(['error' => 'No file uploaded'], 400);
        }

        $fileSize = $file->getSize();

        var_dump($fileSize);

        $fileExt = $file->getOriginalExtension();


        $filePath = $file->getPath();
        var_dump($filePath);

        $result = $file->move("D:\study\php-serv","wodiu2222.png");
        var_dump($result->getPathInfo());


        
        var_dump($fileExt);
        // // 验证文件类型和大小等信息

        // if()
        // if ($validate->check($file)) {
        //     // 移动文件到指定目录
        //     $info = $file->move(App::getAppPath() . 'public' . DS . 'uploads');
        //     var_dump($info);
        //     if ($info) {
        //         // 成功上传后获取文件信息
        //         // 使用 $info['savename'] 替代 $info->getSaveName()
        //         $filePath = '/uploads/' . $info['savename'];
        //         return json(['code' => 200, 'msg' => '上传成功', 'data' => ['path' => $filePath]]);
        //     } else {
        //         // 上传失败返回错误信息
        //         return json(['code' => 500, 'msg' => '文件移动失败']);
        //     }
        // } else {
        //     // 验证失败返回错误信息
        //     return json(['code' => 400, 'msg' => $validate->getError()]);
        // }

        return json(['code' => 400, 'msg' => '未接收到上传文件']);
    }
}
